package com.ts.api.module.api.service;


import com.ts.api.module.api.entity.ApiUserRequest;
import com.ts.api.module.api.entity.bo.ApiParameterBO;
import com.ts.api.module.match.plan.internal.distribute.model.PlanDistributeResult;
import com.ts.api.module.product.entity.po.ProductApplyFlowPO;

import java.util.List;

/**
 *  API多次推送业务层
 *
 */
public interface ApiBizMultiPushService {

    /**
     *  记录多推撞库信息
     *
     *  @param apiUserRequest           ApiUserInfo传输对象
     *  @param finalMatchPlan        最终返回的计划
     *  @param listSucMatchResult    本次匹配到的所有计划
     */
    void multiDataExchange(ApiUserRequest apiUserRequest, PlanDistributeResult finalMatchPlan, List<PlanDistributeResult> listSucMatchResult);

    /**
     *  获取已经撞库需要被推送的信息，进行进件多推送
     *
     *  @param  apiUserRequest         APIUserInfo实体类
     *  @param  apiParameterBO      Api参数业务实体类
     *  @param  productApplyFlowPO  流程实体类
     */
    void multiApply(ApiUserRequest apiUserRequest, ApiParameterBO apiParameterBO, ProductApplyFlowPO productApplyFlowPO);

}
